Skip to content

Use fastcrc, instead of custom implementation, make modules proper python, and use prebuild cyclonedds#107

Open
carlosdp wants to merge 9 commits intounitreerobotics:masterfrom
carlosdp:proper-python-modules
Open

Use fastcrc, instead of custom implementation, make modules proper python, and use prebuild cyclonedds#107
carlosdp wants to merge 9 commits intounitreerobotics:masterfrom
carlosdp:proper-python-modules

Conversation

@carlosdp
Copy link
Copy Markdown

This PR introduces a few changes that make the library easier to install and more compatible with different developer machines (without performance trade-off).

  • Use fastcrc python library for native, fast CRC implementation support on more platforms (including Mac/darwin), so falling back to pure python implementation is no longer necessary. Also makes the CRC implementation more transparent/auditable, since the source code for the crc library used currently is not available.
  • Make the python modules proper python modules, with __init__.py in their roots, so they are compatible with all python dependency tooling.
  • Use a prebuild of cyclonedds @ 0.10.5 I have made and published in https://github.com/carlosdp/cyclonedds-python , so developers never have to build cyclone on their own! That part of the README can be removed after this change.

The net effect of this PR is that this SDK can be installed with just pip install git+https://github.com/unitreerobotics/unitree_sdk2_python 🎉🥳

@Kaweees
Copy link
Copy Markdown

Kaweees commented Sep 21, 2025

This is awesome, what changes need to be made to make your changes compatible with uv? I really want to be able to integrate the python Unitree sdk with uv

@carlosdp
Copy link
Copy Markdown
Author

This is awesome, what changes need to be made to make your changes compatible with uv? I really want to be able to integrate the python Unitree sdk with uv

No changes! We use uv also. If you want to use it now, you can do uv add git+https://github.com/carlosdp/unitree_sdk2_python@proper-python-modules and it should just work!

@Kaweees
Copy link
Copy Markdown

Kaweees commented Oct 30, 2025

This implementation fixes all of the problems I have with using the Unitree Python SDK, great work!

@carlosdp
Copy link
Copy Markdown
Author

carlosdp commented Nov 1, 2025

Thank you @Kaweees !

MiaoDX pushed a commit to MiaoDX-fork-and-pruning/unitree_sdk2_python_uv that referenced this pull request Apr 4, 2026
Based on @carlosdp's PR unitreerobotics#107.

- Add __init__.py files to all subpackages for proper Python module resolution
- Migrate from setup.py to pyproject.toml with full project metadata
- Add cyclonedds pre-built wheel dependencies for macOS (x86_64/arm64) and Linux (x86_64/aarch64)
- Add fastcrc, numpy, opencv-python as project dependencies
- Add a note to README explaining the fork origin and changes
- Update .gitignore for Python packaging artifacts

https://claude.ai/code/session_01Er2d4LqFWhD6J43Jkn8vfW
MiaoDX pushed a commit to MiaoDX-fork-and-pruning/unitree_sdk2_python_uv that referenced this pull request Apr 4, 2026
Based on @carlosdp's PR unitreerobotics#107.

- Add __init__.py files to all subpackages for proper Python module resolution
- Migrate from setup.py to pyproject.toml with full project metadata
- Add cyclonedds pre-built wheel dependencies for macOS (x86_64/arm64) and Linux (x86_64/aarch64)
- Add fastcrc, numpy, opencv-python as project dependencies
- Add a note to README explaining the fork origin and changes
- Update .gitignore for Python packaging artifacts

https://claude.ai/code/session_01Er2d4LqFWhD6J43Jkn8vfW
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants